package com.zjsru.plan2025.oneday;

/**
 * 3442. 奇偶频次间的最大差值 I
 * @Author: cookLee
 * @Date: 2025-06-10
 */
public class MaxDifference {

    /**
     * 主
     * \
     * a1 在字符串中出现 奇数次 。
     * a2 在字符串中出现 偶数次 。
     * \
     * 输入：s = "aaaaabbc"
     * 输出：3
     * 解释：
     * 字符 'a' 出现 奇数次 ，次数为 5 ；字符 'b' 出现 偶数次 ，次数为 2 。
     * 最大差值为 5 - 2 = 3 。
     * \
     * @param args args
     */
    public static void main(String[] args) {
        MaxDifference maxDifference = new MaxDifference();
        System.out.println(maxDifference.maxDifference("tzt"));
    }

    public int maxDifference(String s) {
        int[] count = new int[26];
        for (int i = 0; i < s.length(); i++) {
            char c = s.charAt(i);
            count[c - 'a']++;
        }
        int oddMax = -1;
        int evenMax = -1;
        int oddMin = Integer.MAX_VALUE;
        int evenMin = Integer.MAX_VALUE;
        for (int i = 0; i < 26; i++) {
           if(count[i] > 0){
               if(count[i] % 2 == 0){
                   evenMax = Math.max(evenMax, count[i]);
                   evenMin = Math.min(evenMin, count[i]);
               }else{
                   oddMax  = Math.max(oddMax, count[i]);
                   oddMin = Math.min(oddMin, count[i]);
               }
           }
        }
        return Math.max(oddMax - evenMin, oddMin - evenMax);
    }
}
